#include <cstdio>
#include <iostream>
#include <cstring>

using namespace std;

int main() {
	char num[10][5] = {
		"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"
	};
	char wei[5][5] = {
		"Shi", "Bai", "Qian", "Wan", "Yi"
	};
	char str[15];
	cin.getline(str, 15);
	int len = strlen(str);
	int left = 0, right = len - 1;  // left 指向字符串首元素 rigth 指向字符串尾元素

	if (str[0] == '-') {
		printf("Fu");
		left++;
	}
	while (left + 4 <= right) {
		right -= 4;  // right 每次移动一节(每4位一节) 使 left 与 right 在同一节上
	}

	while (left < len) {
		bool flag = false;  // flag 表示是否有积累的0
		bool isPrint = false;  // 表示该节有无输出的位
		while (left <= right) {
			if (left > 0 && str[left] == '0') {
				flag = true;  // 当前位为 0
			} else {
				if (flag) {  // 当前位积累0
					printf(" ling");
					flag = false;
				}
				if (left > 0) printf(" ");  // 非首位的数 前面都需要空格
				printf("%s", num[str[left]-'0']);
				isPrint = true;
				if (left != right) {  // 输出位
					printf(" %s", wei[right-left-1]);
				}
			}
			left++;
		}
		if (isPrint && right != len-1) {  // 非个位则输出 万或亿
			printf(" %s", wei[(len-1-right)/4+2]);
		}
		right += 4;
	}
	return 0;
}
